define(['jquery','uiComponent','uiRegistry','mageUtils'],function($,Component,registry,utils){'use strict';return Component.extend({defaults:{minSearchLength:2},initialize:function(){this._super();utils.limit(this,'load',this.searchDelay);$(this.inputSelector).unbind('input').on('input',$.proxy(this.load,this)).on('input',$.proxy(this.searchButtonStatus,this)).on('focus',$.proxy(this.showPopup,this));$(document).on('click',$.proxy(this.hidePopup,this));$('.clear-search-input').click(function(){$('#search').val("").focus();$.proxy(this.hidePopup,this);$('#top-viewed-products').show();$('#top-viewed-products').removeClass("hidden");}.bind(this));$(document).ready($.proxy(this.searchButtonStatus,this));},load:function(event){var self=this;var searchText=$(self.inputSelector).val();if(searchText.length=self.minSearchLength;registry.get('searchsuiteautocomplete_form',function(autocomplete){autocomplete.showPopup(searchFieldHasFocus);if(searchFieldHasFocus){$('body').addClass('autocomplete-popup-active');}else{$('body').removeClass('autocomplete-popup-active')}});},hidePopup:function(event){if($(this.searchFormSelector).has($(event.target)).length<=0){registry.get('searchsuiteautocomplete_form',function(autocomplete){autocomplete.showPopup(false);$('body').removeClass('autocomplete-popup-active')});}},searchButtonStatus:function(event){var self=this,searchField=$(self.inputSelector),searchButton=$(self.searchFormSelector+' '+self.searchButtonSelector),searchButtonDisabled=(searchField.val().length>0)?false:true;searchButton.attr('disabled',searchButtonDisabled);},spinnerShow:function(){var spinner=$(this.searchFormSelector);spinner.addClass('loading');},spinnerHide:function(){var spinner=$(this.searchFormSelector);spinner.removeClass('loading');}});});